package com.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.lang.reflect.InvocationTargetException;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.beanutils.BeanUtils;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;


/**
 * 旅游攻略
 * 数据库通用操作实体类（普通增删改查）
 * @author 
 * @email 
 * @date 2025-03-28 20:35:42
 */
@TableName("travelguide")
public class TravelguideEntity<T> implements Serializable {
	private static final long serialVersionUID = 1L;


	public TravelguideEntity() {
		
	}
	
	public TravelguideEntity(T t) {
		try {
			BeanUtils.copyProperties(this, t);
		} catch (IllegalAccessException | InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 主键id
	 */
    @TableId(type = IdType.AUTO)
	private Long id;
	/**
	 * 攻略标题
	 */
					
	private String guidetitle;
	
	/**
	 * 封面
	 */
					
	private String cover;
	
	/**
	 * 出发地
	 */
					
	private String departurelocation;
	
	/**
	 * 目的地
	 */
					
	private String destination;
	
	/**
	 * 行程天数
	 */
					
	private String traveldays;
	
	/**
	 * 行程距离
	 */
					
	private String traveldistance;
	
	/**
	 * 交通工具
	 */
					
	private String transportation;
	
	/**
	 * 行程路线
	 */
					
	private String itineraryroute;
	
	/**
	 * 攻略详情
	 */
					
	private String guidedetails;
	
	/**
	 * 发布时间
	 */
				
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
	@DateTimeFormat 		
	private Date releasetime;
	
	/**
	 * 评论数
	 */
					
	private Integer discussnum;
	
	/**
	 * 收藏数
	 */
					
	private Integer storeupnum;
	
	
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat
	private Date addtime;

	public Date getAddtime() {
		return addtime;
	}
	public void setAddtime(Date addtime) {
		this.addtime = addtime;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 设置：攻略标题
	 */
	public void setGuidetitle(String guidetitle) {
		this.guidetitle = guidetitle;
	}
	/**
	 * 获取：攻略标题
	 */
	public String getGuidetitle() {
		return guidetitle;
	}
	/**
	 * 设置：封面
	 */
	public void setCover(String cover) {
		this.cover = cover;
	}
	/**
	 * 获取：封面
	 */
	public String getCover() {
		return cover;
	}
	/**
	 * 设置：出发地
	 */
	public void setDeparturelocation(String departurelocation) {
		this.departurelocation = departurelocation;
	}
	/**
	 * 获取：出发地
	 */
	public String getDeparturelocation() {
		return departurelocation;
	}
	/**
	 * 设置：目的地
	 */
	public void setDestination(String destination) {
		this.destination = destination;
	}
	/**
	 * 获取：目的地
	 */
	public String getDestination() {
		return destination;
	}
	/**
	 * 设置：行程天数
	 */
	public void setTraveldays(String traveldays) {
		this.traveldays = traveldays;
	}
	/**
	 * 获取：行程天数
	 */
	public String getTraveldays() {
		return traveldays;
	}
	/**
	 * 设置：行程距离
	 */
	public void setTraveldistance(String traveldistance) {
		this.traveldistance = traveldistance;
	}
	/**
	 * 获取：行程距离
	 */
	public String getTraveldistance() {
		return traveldistance;
	}
	/**
	 * 设置：交通工具
	 */
	public void setTransportation(String transportation) {
		this.transportation = transportation;
	}
	/**
	 * 获取：交通工具
	 */
	public String getTransportation() {
		return transportation;
	}
	/**
	 * 设置：行程路线
	 */
	public void setItineraryroute(String itineraryroute) {
		this.itineraryroute = itineraryroute;
	}
	/**
	 * 获取：行程路线
	 */
	public String getItineraryroute() {
		return itineraryroute;
	}
	/**
	 * 设置：攻略详情
	 */
	public void setGuidedetails(String guidedetails) {
		this.guidedetails = guidedetails;
	}
	/**
	 * 获取：攻略详情
	 */
	public String getGuidedetails() {
		return guidedetails;
	}
	/**
	 * 设置：发布时间
	 */
	public void setReleasetime(Date releasetime) {
		this.releasetime = releasetime;
	}
	/**
	 * 获取：发布时间
	 */
	public Date getReleasetime() {
		return releasetime;
	}
	/**
	 * 设置：评论数
	 */
	public void setDiscussnum(Integer discussnum) {
		this.discussnum = discussnum;
	}
	/**
	 * 获取：评论数
	 */
	public Integer getDiscussnum() {
		return discussnum;
	}
	/**
	 * 设置：收藏数
	 */
	public void setStoreupnum(Integer storeupnum) {
		this.storeupnum = storeupnum;
	}
	/**
	 * 获取：收藏数
	 */
	public Integer getStoreupnum() {
		return storeupnum;
	}

}
